The present invention relates to data storage devices and, more specifically, to slightly early status return from tape storage devices in a storage area network (SAN).
Tape storage devices are widely used in data processing systems because they provide inexpensive bulk data storage. As networked computing has evolved, there has been a need to make central mass storage devices, such as disk drives or tape storage devices, accessible to all users on a network. A storage area network (SAN) is one such way of providing such an arrangement. SANs are well known to those skilled in the networking art. A device such as a SAN bridge or gateway is often utilized to interconnect a number of host initiating computers (e.g., workstations) on a Fibre Channel or similar bus to a plurality of target storage devices, often on one or more SCSI buses.
It is important that each initiator on the SAN receive status information back from a target storage device. This allows a host initiator to recover from any problem(e.g., a full disk, an end-of-tape condition, etc.) at the target storage device. Because SANs typically act as an intermediate endpoint between the initiator host and a particular target storage device, the SAN devices such as I/O bridges and gateways generally contain buffer memory. This allows a host initiator on a Fiber Channel bus to communicate with the I/O bridge or gateway at a typical speed of 100 Mbs. The I/O bridge or gateway, on the other hand, may be limited to 20 Mbs communication with a storage device on a SCSI bus.
While the buffer capability of the I/O bridge solves the communication speed difference problem, it adversely affects timely target storage device status returned to the host initiator(s). The delay in returning device status is particularly pronounced in sequential access devices such as tape drives, printers, scanners, CD ROM drives and optical disk drives, which typically transfer data more slowly than do random access devices such as disk drives. Sequential access device refers to any target device which either stores data in a sequential method, such as a tape drive, or which expect to receive data in a sequential stream, such as a processor, controller, printer, writable CDROM or optical disk drive.
Tape drive control systems have previously been configured so as to return an early status for write operations. Once the data was written into the tape storage devices"" buffer, it was anticipated that the tape write operation would complete successfully. Based on this assumption, a xe2x80x9cgoodxe2x80x9d status was returned, albeit before the actual data was physically written to the tape. Because the status was returned, the host initiator could issue the next tape write command. Problems arose when, in actuality, the tape write operation was not successfully completed. Storage devices then typically posted a deferred xe2x80x9cfailedxe2x80x9d status on a later command. Because of the potential for recovery problems, the amount of data accepted by a tape storage device has heretofore been limited. By limiting the data, it became a manageable task for the host initiator to recall the data from the tape storage device""s buffer and attempt to rewrite that data, either to the same or to a different storage device. While the data size limitation made error recovery more practical, it severely limited the data throughput from an initiator host to a target tape storage device.
The interposition of an I/O bridge or gateway between a host initiator and a target storage device provides even more complications, as several host initiators may simultaneously be writing data to a particular tape storage device.
U.S. Pat. No. 5,327,535 for MAGNETIC RECORDING CONTROL APPARATUS, issued to Mikito Ogata, et al., describes an apparatus for creating virtual tape drives within a peripheral device. The purpose of the OGATA, et al. apparatus is to improve speed and efficiency in transferring data to a magnetic tape storage system. Unlike the method of the instant invention, conventional early write status is presented to an initiator host before the actual writing of the data to physical media, just as if the virtual drive were a prior art, physical tape storage device. This present slightly early write status method is a function of an I/O bridge, typically in a SAN, wherein data is transferred from a host initiator on a first bus to a target storage device on a second bus. The inventive method optimizes the data transfer rate through the I/O bridge. The OGATA, et al. virtual tape storage device, of course, could be used as a target storage device with the slightly early write method of the invention.
U.S. Pat. No. 5,668,971 for POSTED DISK READ OPERATIONS PERFORMED BY SIGNALING A DISK READ COMPLETE TO THE SYSTEM PRIOR TO COMPLETION OF THE DATA TRANSFER, issued to E. David Neufeld, teaches another method for providing status to a host before a physical data transfer operation is complete. NEUFELD teaches a method for blocking access to a particular block of memory to which a disk is transferring data, for the duration of the disk read operation. A xe2x80x9cread completexe2x80x9d status may be posted upon issuance of a read command. No data may be transferred from the blocked memory until the data transfer is actually complete. This differs from the method of the instant invention in several ways. NEUFELD teaches a system operable for read operations from a disk driver. The inventive method, on the other hand, handles write operations to tape storage devices. NEUFELD""s early completion status is used to call a task operating within the same system. The slightly early write completion status of the inventive system is used as a signal between two independent devices in an open system. NEUFELD blocks the next read access until total completion of the read in process. The inventive method allows the next write command to partially complete, prior to the total completion of a previous write command, thereby allowing overlapping of a first and a second tape write operation. NEUFELD teaches a memory subsystem while the present method teaches an attachment for a peripheral storage device.
It is, therefore, an object of the invention to provide a method and apparatus for use with sequential access and streaming devices attached to an I/O bridge or gateway.
It is a further object of the invention to provide a method and apparatus for use with sequential access and streaming devices attached to an I/O bridge or gateway, wherein a write complete status is provided to a host initiator prior to completion of the actual tape write operation.
It is yet another object of the invention to provide a method and apparatus for use with sequential access and streaming devices attached to an I/O bridge or gateway, wherein a second write command may be issued by a host initiator prior to completion of the actual tape write operation.
In accordance with the present invention, there is provided a method for improving data flow from a host initiator on a first data bus to a target tape storage or other sequential access device on a second data bus, both buses being connected to one another by an I/O bridge or gateway. The inventive method allows the I/O bridge to return a slightly early write completion status to a host initiator before the physical device write operation is complete. The host initiator may then issue an additional write command and data may actually be transferred to buffer memory of the I/O bridge before the first physical device write operation has been completed. This improves data throughput between host initiators and physical target storage devices, particularly in a storage area network (SAN).